Low-cost haptic mouse implementations

ABSTRACT

Low-cost haptic interface device implementations for interfacing a user with a host computer. A haptic feedback device, such as a mouse or other device, includes a housing physically contacted by a user, and an actuator for providing motion that causes haptic sensations on the device housing and/or on a movable portion of the housing. The device may include a sensor for detecting x-y planar motion of the housing. Embodiments include actuators with eccentric rotating masses, buttons having motion influenced by various actuator forces, and housing portions moved by actuators to generate haptic sensations to a user contacting the driven surfaces.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.09/759,780, filed Jan. 12, 2001, now U.S. Pat. No. 6,717,573 whichclaims the benefit of U.S. Provisional Application No. 60/176,108, filedJan. 14, 2000, entitled “Low-Cost Haptic Mouse Implementations;” U.S.application Ser. No. 09/759,780 is a continuation-in-part of U.S. patentapplication No. 09/253,132, filed Feb. 18, 1999, now U.S. Pat. No.6,243,078; Ser. No. 09/456,887, filed Dec. 7, 1999, now U.S. Pat. No.6,211,861; and Ser. No. 09/563,783, filed May 2, 2000, now U.S. Pat. No.6,353,427, which is a continuation of application Ser. No. 09/103,281,filed Jun. 23, 1998, now U.S. Pat. No. 6,088,019, all of which areincorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

The present invention relates generally to haptic feedback interfacedevices for use with a computer, and more particularly to low-costhaptic devices producing tactile sensations.

Using an interface device, a user can interact with an environmentdisplayed by a computer system to perform functions and tasks on thecomputer, such as playing a game, experiencing a simulation or virtualreality environment, using a computer aided design system, operating agraphical user interface (GUI), or otherwise influencing events orimages depicted on the screen. Common human-computer interface devicesused for such interaction include a joystick, mouse, trackball, steeringwheel, stylus, tablet, pressure-sensitive ball, or the like, that isconnected to the computer system controlling the displayed environment.

In some interface devices, force feedback or tactile feedback is alsoprovided to the user, also known more generally herein as “hapticfeedback.” These types of interface devices can provide physicalsensations which are felt by the user using the controller ormanipulating the physical object of the interface device. One or moremotors or other actuators are used in the device and are connected tothe controlling computer system. The computer system controls forces onthe haptic feedback device in conjunction and coordinated with displayedevents and interactions on the host by sending control signals orcommands to the haptic feedback device and the actuators.

Many low cost haptic feedback devices provide forces to the user byvibrating the manipulandum and/or the housing of the device that is heldby the user. The output of simple vibration haptic feedback (tactilesensations) requires less complex hardware components and softwarecontrol over the force-generating elements than does more sophisticatedhaptic feedback. For example, in many current game controllers for gameconsoles such as the Sony Playstation and the Nintendo 64, one or moremotors are mounted in the housing of the controller and which areenergized to provide the vibration forces. An eccentric mass ispositioned on the shaft of each motor, and the shaft is rotatedunidirectionally to cause the motor and the housing of the controller tovibrate. The host computer (console unit) provides commands to thecontroller to turn the vibration on or off or to increase or decreasethe frequency of the vibration by varying the rate of rotation of themotor.

One problem with these currently-available implementations of hapticfeedback devices is that the vibrations or other haptic sensations thatthese implementations produce are very limited and cannot besignificantly varied. In addition, gamepad tactile generation devicesmay not be as suitable for other types of interface devices, inparticular mouse interfaces or other similar position control inputdevices. The prior art devices also severely limit the haptic feedbackeffects which can be experienced by a user of these devices.

SUMMARY OF THE INVENTION

The present invention is directed to providing low-cost haptic feedbackcapability to a mouse interface device and other interface devices thatcommunicate with a host computer or controller. The embodimentsdisclosed herein allow haptic sensations to be output by devices that donot require significant design changes to existing interface devices.

More specifically, in one aspect of the present invention, a hapticfeedback mouse device for providing haptic sensations to a user includesa housing physically contacted by the user and movable in an x-y plane,a sensor coupled to the housing and operative to output a sensor signalindicative of the x-y movement, an actuator, and a mass coupled to theactuator, wherein said eccentric mass can be rotated by the actuator.The rotation of the mass causes inertial haptic sensations to be outputon the housing and felt by the user. In one embodiment, the actuatorrotates the eccentric mass approximately in an x-z plane, a y-z plane,or a combination thereof. In another embodiment, the actuator rotatesthe eccentric mass approximately in an x-y plane. The inertial force canbe a pulse, vibration, or texture correlated with the interaction of auser-controlled cursor with a graphical object displayed in a graphicaluser interface of a host computer.

In another aspect of the present invention, a haptic feedback deviceincludes a housing physically contacted by the user, where the housingincludes a movable portion and a base portion, wherein the movableportion is movable with respect to the base portion, and where themoveable portion includes a magnet. An actuator is coupled to thehousing, and an eccentric mass is coupled to the actuator, where theeccentric mass can be rotated by the actuator. A magnetic interactionbetween said eccentric mass and said magnet causes an inertial hapticsensation to be output on said movable portion of said housing and feltby said user when said user contacts said movable portion, said inertialhaptic sensation influenced by the position of the mass. The movableportion can be a button. The eccentric mass is made of a material thatinteracts magnetically with the magnet, such as iron or steel or apermanently-magnetic material.

In another aspect of the present invention, a haptic feedback deviceprovides haptic sensations to a user and includes a housing physicallycontacted by the user, where the housing includes a movable portion anda base portion, where the movable portion is movable with respect to thebase portion. An actuator is coupled to the housing or to the movableportion, and a mass coupled to the actuator, where the mass can berotated by the actuator. A stop member is coupled to the movable portionor the housing and is positioned at least partially in a path ofrotation of the mass, where the mass is moved against the stop toproduce haptic sensations on the movable portion felt by the usercontacting the movable portion. The movable portion can be a button ofthe device. Additional stop members can be provided in the range ofmotion of the mass, and inertial and kinesthetic feedback modes can beprovided.

In another aspect of the present invention, a haptic feedback mousedevice provides haptic sensations to a user and includes a devicehousing physically contacted by the user and movable in an x-y plane,where the device housing includes a movable portion and a main housingportion, where the movable portion is movable with respect to the mainhousing portion. A moving magnet actuator has an actuator housingcoupled to the device housing and a moving magnet coupled to the movableportion, and a sensor outputs a sensor signal indicative of housingmovement in an x-y plane. In one embodiment, the user can select one ofa hierarchy of graphical objects by moving the movable portion, whereina haptic sensation indicates to the user a selection of each of thegraphical objects in the hierarchy.

In yet another aspect of the present invention, a haptic feedback mousedevice provides haptic sensations to a user and includes a devicehousing physically contacted by the user and movable in an x-y plane,where the device housing includes a movable portion and a main portion.At least part of the movable portion is positioned on a side of thehousing and is movable with respect to the main portion. A linearactuator has an actuator housing coupled to the device housing and anactuated portion coupled to the movable portion, where the linearactuator moves the movable portion of the device housing linearly awayfrom the main portion of the housing when controlled with a controlsignal, thereby providing a haptic sensation to a user contacting themovable portion. A sensor outputs a sensor signal indicative of housingmovement in the x-y plane. Preferably, the movable portion engages athumb of the user in normal operation of the mouse device.

The present invention advantageously provides embodiments for a low-costhaptic feedback device that can output a variety of haptic sensations.The actuators can be implemented in existing interface devices withrelatively little added expense. The presented features allow precisionin the control of haptic sensations and a compelling range of sensationsto be experienced by the user.

These and other advantages of the present invention will become apparentto those skilled in the art upon a reading of the followingspecification of the invention and a study of the several figures of thedrawing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of an interface device system incorporatinga haptic feedback device present invention;

FIG. 2 is a block diagram of a haptic feedback system suitable for usewith the present invention;

FIG. 3 a is a perspective view of a first embodiment of a haptic mouseinterface device including a eccentric rotating mass providing inertialhaptic sensations;

FIG. 3 b is a perspective view of a second embodiment of a haptic mouseinterface device including a eccentric rotating mass providing inertialhaptic sensations;

FIG. 4 is a side elevational view of a haptic mouse interface deviceincluding an eccentric rotating mass influencing a magnetic button;

FIG. 5 is a perspective view of a haptic mouse interface deviceincluding an eccentric rotating mass engaging a stop member to providehaptic sensations;

FIG. 6 a is a perspective view of a haptic mouse interface deviceincluding a moving magnet actuator providing haptic sensations on abutton of the device;

FIG. 6 b is a perspective view of the top and side of the haptic mousedevice of FIG. 6 a;

FIG. 7 is a perspective view of a haptic mouse interface deviceincluding a linear voice coil actuator providing haptic sensations on amovable housing portion;

FIG. 8 is a diagrammatic illustration of a graphical user interfaceincluding objects associated with haptic sensations; and

FIG. 9 is a perspective view of an actuator and transmission forproviding forces on a button or other movable member.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Many of the described embodiments of the present invention add hapticfunctionality to existing mouse designs. Various actuators andassemblies are preferably provided in a mouse housing in ways that donot require significant design and manufacturing changes to the product.Mice produced according to these embodiments can fall within thestandard mouse price range, and these embodiments add significant newvalue without forcing the computer user to re-think how he or she usesthe mouse.

The below descriptions often refer to a mouse device as a specificembodiment of an interface device which is suitable for the embodimentsof the present invention. However, the inventive embodiments describedherein are also suitable for a wide variety of other types of computerinterface devices which can be enhanced with haptic feedback, includingtrackballs, gamepad controllers, joysticks, steering wheels, styluses,touchpads, touchscreens, light guns, remote controls, portablecomputers, knobs, etc.

FIG. 1 is a perspective view of a haptic feedback mouse interface system10 of the present invention capable of providing input to a hostcomputer and capable of providing haptic feedback to the user of themouse system. Mouse system 10 includes a mouse 12 and a host computer14. It should be noted that the term “mouse” as used herein, indicatesan object generally shaped to be grasped or contacted from above andmoved within a substantially planar workspace (and additional degrees offreedom if available).

Mouse 12 is an object that is preferably grasped or gripped andmanipulated by a user. For example, a user can move mouse 12 to provideplanar two-dimensional input to a computer system to correspondinglymove a computer generated graphical object, such as a cursor or otherimage, in a graphical environment provided by computer 14 or to controla virtual character, vehicle, or other entity in a game or simulation.In addition, mouse 12 preferably includes one or more buttons 16 a and16 b to allow the user to provide additional commands to the computersystem. Each button can typically be pressed down in the degree offreedom of the button for a travel distance, at the end of which abutton switch is closed and a button signal provided to the hostcomputer to indicate the button has been pressed.

Mouse 12 preferably includes one or more actuators 18 which operative toproduce tactile forces on the mouse housing 12, a portion thereof,and/or a button 16. This operation is described in greater detail belowwith reference to FIGS. 3 a-7.

Mouse 12 rests on a ground surface 22 such as a tabletop or mousepad. Auser grasps the mouse 12 and moves the mouse in a planar workspace onthe surface 22 as indicated by arrows 24. Mouse 12 may be moved anywhereon the ground surface 22, picked up and placed in a different location,etc. A frictional ball and roller assembly (not shown) can in someembodiments be provided on the underside of the mouse 12 to translatethe planar motion of the mouse 12 into electrical position signals,which are sent to a host computer 14 over a bus 20 as is well known tothose skilled in the art. In other embodiments, different mechanismsand/or electronics can be used to convert mouse motion to position ormotion signals received by the host computer. For example, opticalsensors can be used; a suitable optical mouse technology is made byHewlett Packard of Palo Alto, Calif., where both the optical emitter anddetector are provided on the mouse housing and detect motion of themouse relative to the planar support surface by optically taking andstoring a number of images of the surface and comparing those imagesover time to determine if the mouse has moved. Alternatively, a portionof an optical sensor can be built into the surface 22 to detect theposition of an emitter or transmitter in mouse 12 and thus detect theposition of the mouse 12 on the surface 22. Mouse 12 is preferably arelative device, in which its sensor detect a change in position of themouse, allowing the mouse to be moved over any surface at any location.An absolute mouse may also be used, in which the absolute position ofthe mouse is known but the mouse is typically limited to a particularpredefined workspace.

Mouse 12 is coupled to the computer 14 by a bus 20, which communicatessignals between mouse 12 and computer 14 and may also, in some preferredembodiments, provide power to the mouse 12. Components such as actuator18 require power that can be supplied from a conventional serial port orthrough an interface such as a USB or Firewire bus. In otherembodiments, signals can be sent between mouse 12 and computer 14 bywireless transmission/reception. In some embodiments, the power for theactuator can be supplemented or solely supplied by a power storagedevice provided on the mouse, such as a capacitor or one or morebatteries. Some embodiments of such are disclosed in U.S. Pat. No.5,691,898, incorporated herein by reference.

Host computer 14 can be a personal computer or workstation, such as a PCcompatible computer or Macintosh personal computer, or a Sun or SiliconGraphics workstation. For example, the computer 14 can operate under theWindows™, MacOS, Unix, or MS-DOS operating system. Alternatively, hostcomputer system 14 can be one of a variety of home video game consolesystems commonly connected to a television set or other display, such assystems available from Nintendo, Sega, or Sony. In other embodiments,host computer system 14 can be a “set top box” which can be used, forexample, to provide interactive television functions to users, or a“network-” or “internet-computer” which allows users to interact with alocal or global network using standard connections and protocols such asused for the Internet and World Wide Web. Host computer preferablyincludes a host microprocessor, random access memory (RAM), read onlymemory (ROM), input/output (I/O) circuitry, and other components ofcomputers well-known to those skilled in the art.

Host computer 14 preferably implements a host application program withwhich a user is interacting via mouse 12 and other peripherals, ifappropriate, and which may include force feedback functionality. Forexample, the host application program can be a video game, wordprocessor or spreadsheet, Web page or browser that implements HTML orVRML instructions, scientific analysis program, virtual reality trainingprogram or application, or other application program that utilizes inputof mouse 12 and outputs force feedback commands to the mouse 12. Herein,for simplicity, operating systems such as Windows™, MS-DOS, MacOS,Linux, Be, etc. are also referred to as “application programs.” In onepreferred embodiment, an application program utilizes a graphical userinterface (GUI) to present options to a user and receive input from theuser. Herein, computer 14 may be referred as providing a “graphicalenvironment,”, which can be a graphical user interface, game,simulation, or other visual environment. The computer displays“graphical objects” or “computer objects,” which are not physicalobjects, but are logical software unit collections of data and/orprocedures that may be displayed as images by computer 14 on displayscreen 26, as is well known to those skilled in the art. A displayedcursor or a simulated cockpit of an aircraft might be considered agraphical object. The host application program checks for input signalsreceived from the electronics and sensors of mouse 12, and outputs forcevalues and/or commands to be converted into forces output for mouse 12.Suitable software drivers which interface such simulation software withcomputer input/output (I/O) devices are available from ImmersionCorporation of San Jose, Calif.

Display device 26 can be included in host computer 14 and can be astandard display screen (LCD, CRT, flat panel, etc.), 3-D goggles, orany other visual output device. Typically, the host application providesimages to be displayed on display device 26 and/or other feedback, suchas auditory signals. For example, display screen 26 can display imagesfrom a GUI.

In alternative embodiments, the mouse can be a different interface orcontrol device. For example, a hand-held remote control device used toselect functions of a television, video cassette recorder, sound stereo,internet or network computer (e.g., Web-TV™), or a gamepad controllerfor video games or computer games, can be used with the haptic feedbackcomponents described herein.

FIG. 2 is a block diagram illustrating one embodiment of the forcefeedback system suitable for use with any of the described embodimentsof the present invention and including a local microprocessor and a hostcomputer system.

Host computer system 14 preferably includes a host microprocessor 100, aclock 102, a display screen 26, and an audio output device 104. The hostcomputer also includes other well known components, such as randomaccess memory (RAM), read-only memory (ROM), and input/output (I/O)electronics (not shown). Display screen 26 displays images of a gameenvironment, operating system application, simulation, etc. Audio outputdevice 104, such as speakers, is preferably coupled to hostmicroprocessor 100 via amplifiers, filters, and other circuitry wellknown to those skilled in the art and provides sound output to user whenan “audio event” occurs during the implementation of the hostapplication program. Other types of peripherals can also be coupled tohost processor 100, such as storage devices (hard disk drive, CD ROMdrive, floppy disk drive, etc.), printers, and other input and outputdevices.

Mouse 12 is coupled to host computer system 14 by a bidirectional bus 20The bi-directional bus sends signals in either direction between hostcomputer system 14 and the interface device. Bus 20 can be a serialinterface bus, such as an RS232 serial interface, RS-422, UniversalSerial Bus (USB), MDI, or other protocols well known to those skilled inthe art; or a parallel bus or wireless link. For example, the USBstandard provides a relatively high speed interface that can alsoprovide power to actuator 18.

Mouse 12 can include a local microprocessor 110. Local microprocessor110 can optionally be included within the housing of mouse 12 to allowefficient communication with other components of the mouse. Processor110 is considered local to mouse 112, where “local” herein refers toprocessor 110 being a separate microprocessor from any processors inhost computer system 14. “Local” also preferably refers to processor 110being dedicated to haptic feedback and sensor I/O of mouse 12.Microprocessor 110 can be provided with software instructions (e.g.,firmware) to wait for commands or requests from computer host 14, decodethe command or request, and handle/control input and output signalsaccording to the command or request. In addition, processor 110 canoperate independently of host computer 14 by reading sensor signals andcalculating appropriate forces from those sensor signals, time signals,and stored or relayed instructions selected in accordance with a hostcommand. Suitable microprocessors for use as local microprocessor 110include the MC68HC711E9 by Motorola, the PIC16C74 by Microchip, and the82930AX by Intel Corp., for example, as well as more sophisticated forcefeedback processors such as the Immersion Touchsense Processor.Microprocessor 110 can include one microprocessor chip, multipleprocessors and/or co-processor chips, and/or digital signal processor(DSP) capability.

Microprocessor 110 can receive signals from sensor 112 and providesignals to actuator 18 in accordance with instructions provided by hostcomputer 14 over bus 20. For example, in a local control embodiment,host computer 14 provides high level supervisory commands tomicroprocessor 110 over bus 20, and microprocessor 110 decodes thecommands and manages low level force control loops to sensors and theactuator in accordance with the high level commands and independently ofthe host computer 14. This operation is described in greater detail inU.S. Pat. Nos. 5,739,811 and 5,734,373, both incorporated by referenceherein. In the host control loop, force commands are output from thehost computer to microprocessor 110 and instruct the microprocessor tooutput a force or force sensation having specified characteristics. Thelocal microprocessor 110 reports data to the host computer, such aslocative data that describes the position of the mouse in one or moreprovided degrees of freedom. The data can also describe the states ofbuttons 16 and safety switch 132. The host computer uses the locativedata to update executed programs. In the local control loop, actuatorsignals are provided from the microprocessor 110 to actuator 18 andsensor signals are provided from the sensor 112 and other input devices118 to the microprocessor 110. Herein, the term “tactile sensation”refers to either a single force or a sequence of forces output by theactuator 18 which provide a sensation to the user. For example,vibrations, a single jolt, or a texture sensation are all consideredtactile sensations. The microprocessor 110 can process inputted sensorsignals to determine appropriate output actuator signals by followingstored instructions. The microprocessor may use sensor signals in thelocal determination of forces to be output on the user object, as wellas reporting locative data derived from the sensor signals to the hostcomputer.

In yet other embodiments, other hardware can be provided locally tomouse 12 to provide functionality similar to microprocessor 110. Forexample, a hardware state machine incorporating fixed logic can be usedto provide signals to the actuator 18 and receive sensor signals fromsensors 112, and to output tactile signals according to a predefinedsequence, algorithm, or process. Techniques for implementing logic withdesired functions in hardware are well known to those skilled in theart. Such hardware can be better suited to less complex force feedbackdevices, such as the device of the present invention.

In a different, host-controlled embodiment, host computer 14 can providelow-level force commands over bus 20, which are directly transmitted tothe actuator 18 via microprocessor 110 or other circuitry. Host computer14 thus directly controls and processes all signals to and from themouse 12, e.g. the host computer directly controls the forces output byactuator 18 and directly receives sensor signals from sensor 112 andinput devices 118. This embodiment may be desirable to reduce the costof the force feedback device yet further, since no complex localmicroprocessor 110 or other processing circuitry need be included in themouse. Furthermore, since one actuator 18 is used with forces notprovided in the primary sensed degrees of freedom, the local control offorces by microprocessor 110 may not be necessary in the presentinvention to provide the desired quality of forces. Other embodimentsmay employ a “hybrid” organization where some types of force effects(e.g. closed loop effects or high frequency effects) are controlledpurely by the local microprocessor, while other types of effects (e.g.,open loop or low frequency effects) may be controlled by the host.

In the simplest host control embodiment, the signal from the host to thedevice can be a single bit that indicates whether to pulse the actuatorat a predefined frequency and magnitude. In a more complex embodiment,the signal from the host could include a magnitude, giving the strengthof the desired pulse. In yet a more complex embodiment, the signal caninclude a direction, giving both a magnitude and a sense for the pulse.In still a more complex embodiment, a local processor can be used toreceive a simple command from the host that indicates a desired forcevalue to apply over time. The microprocessor then outputs the forcevalue for the specified time period based on the one command, therebyreducing the communication load that must pass between host and device.In an even more complex embodiment, a high-level command with tactilesensation parameters can be passed to the local processor on the devicewhich can then apply the full sensation independent of hostintervention. Such an embodiment allows for the greatest reduction ofcommunication load. Finally, a combination of numerous methods describedabove can be used for a single mouse device 12.

Local memory 122, such as RAM and/or ROM, is preferably coupled tomicroprocessor 110 in mouse 12 to store instructions for microprocessor110 and store temporary and other data. For example, force profiles canbe stored in memory 122, such as a sequence of stored force values thatcan be output by the microprocessor, or a look-up table of force valuesto be output based on the current position of the user object. Inaddition, a local clock 124 can be coupled to the microprocessor 110 toprovide timing data, similar to system clock 18 of host computer 12; thetiming data might be required, for example, to compute forces output byactuator 18 (e.g., forces dependent on calculated velocities or othertime dependent factors). In embodiments using the USB communicationinterface, timing data for microprocessor 110 can be alternativelyretrieved from the USB signal.

In some embodiments, host computer 14 can send a “spatialrepresentation” to the local microprocessor 110, which is datadescribing the locations of some or all the graphical objects displayedin a GUI or other graphical environment which are associated with forcesand the characteristics of these graphical objects. The microprocessorcan store such a spatial representation in local memory 122, and thuswill be able to determine interactions between the user object andgraphical objects (such as the rigid surface) independently of the hostcomputer. Also, the local memory can store predetermined forcesensations for the microprocessor that are to be associated withparticular types of graphical objects.

Sensors 112 sense the position or motion of the mouse device (e.g. thehousing 50) in its 35′ planar degrees of freedom and provides signals tomicroprocessor 110 (or host 14) including information representative ofthe position or motion. Sensors suitable for detecting planar motion ofa mouse include digital optical encoders frictionally coupled to arotating ball or cylinder, as is well known to those skilled in the art.Optical sensor systems, linear optical encoders, potentiometers, opticalsensors, velocity sensors, acceleration sensors, strain gauge, or othertypes of sensors can also be used, and either relative or absolutesensors can be provided. Optional sensor interface 114 can be used toconvert sensor signals to signals that can be interpreted by themicroprocessor 110 and/or host computer system 14, as is well known tothose skilled in the art.

Actuator(s) 18 transmits forces to the housing 50, button 16, or otherportion of the mouse in response to signals received from microprocessor110 and/or host computer 14, and is described in greater detail below.Many types of actuators can be used, including a rotary DC motors, voicecoil actuators, moving magnet actuators, pneumatic/hydraulic actuators,solenoids, speaker voice coils, piezoelectric actuators, passiveactuators (brakes), etc. In many of the implementations herein, theactuator has the ability to apply short duration force sensation on thehousing or handle of the mouse. This short duration force sensation isdescribed herein as a “pulse.” The “pulse” can be directed substantiallyalong a Z axis orthogonal to the X-Y plane of motion of the mouse. Inprogressively more advanced embodiments, the magnitude of the “pulse”can be controlled; the sense of the “pulse” can be controlled, eitherpositive or negative biased; a “periodic force sensation” can be appliedon the handle of the mouse, where the periodic sensation can have amagnitude and a frequency, e.g. a sine wave; the periodic sensation canbe selectable among a sine wave, square wave, saw-toothed-up wave,saw-toothed-down, and triangle wave; an envelope can be applied to theperiod signal, allowing for variation in magnitude over time; and theresulting force signal can be “impulse wave shaped” as described in U.S.Pat. No. 5,959,613. There are two ways the period sensations can becommunicated from the host to the device. The wave forms can be“streamed” as described in U.S. Pat. No. 5,959,613 and provisionalpatent application 60/160,401, both incorporated herein by reference intheir entirety. Or the waveforms can be conveyed through high levelcommands that include parameters such as magnitude, frequency, andduration, as described in U.S. Pat. No. 5,734,373.

Alternate embodiments can employ additional actuators for providingtactile sensations or forces in the planar degrees of freedom of themouse 12. For example, the mouse can be enhanced with a secondaryactuator. Because of power constraints, this secondary means can bepassive (i.e., it dissipates energy) in some embodiments. The passiveactuator can be a brake, such as a magneto-rheological fluid brake ormagnetic brake. The passive braking means can be employed through africtional coupling between the mouse housing and the table surface 22.When the brake is engaged, the user can feel the passive resistance tomotion of the mouse (in one or two degrees of freedom). Actuatorinterface 116 can be optionally connected between actuator 18 andmicroprocessor 110 to convert signals from microprocessor 110 intosignals appropriate to drive actuator 18. Interface 38 can include poweramplifiers, switches, digital to analog controllers (DACs), analog todigital controllers (ADCs), and other components, as is well known tothose skilled in the art.

Other input devices 118 are included in mouse 12 and send input signalsto microprocessor 110 or to host 14 when manipulated by the user. Suchinput devices include buttons 16 and can include additional buttons,dials, switches, scroll wheels, or other controls or mechanisms.

Power supply 120 can optionally be included in mouse 12 coupled toactuator interface 116 and/or actuator 18 to provide electrical power tothe actuator or be provided as a separate component. Alternatively, andmore preferably, power can be drawn from a power supply separate frommouse 12, or power can be received across a USB or other bus. Also,received power can be stored and regulated by mouse 12 and thus usedwhen needed to drive actuator 18 or used in a supplementary fashion, asdescribed in copending application Ser. No. 09/456,887, filed Dec. 7,1999, and incorporated herein by reference in its entirety. A safetyswitch 132 can optionally be included to allow a user to deactivateactuator 18 for safety reasons.

EMBODIMENTS OF THE PRESENT INVENTION

Several embodiments of mouse interface device 12 providing hapticsensations to the user are described below. Preferred embodimentsprovide one or more of several desirable characteristics for a hapticmouse designed for the consumer market. One desirable characteristic isthat the mouse should feel like it is “alive” to the user, like theforces are coupling into the user's body. The “alive” quality is oftendetermined by system compliance, actuator authority, andtransmissibility into the hand. Furthermore, it is preferred that themoving member or portion be spring centered so that vibrations/forces donot disappear or get clipped. Preferably, user effort is not required tomaintain contact with the moving feedback surface while using the mouse.The mouse preferably also provides feedback for a range of user grippostures, e.g. palming, gripping, and finger tip usage. If possible, thehaptic feedback should be in an axis that is substantially de-coupledfrom position input in the x-y plane. Preferably, the haptic feedbackdoes not interfere with button operation by the user or button closureperception, and the mouse should work seamlessly as a normal mouse whenthe user is not paying attention to forces. The mouse should have verygood fidelity at high frequencies (e.g., 200 to 20 Hz) and convey lowerfrequencies (e.g., <20 Hz) with enough displacement that they areperceptible. Overall, the haptic mouse should add value with minimalsacrifice and cost.

FIG. 3 a is a perspective view of a mouse device 200 providing tactilesensations to a user with an eccentric rotating mass to provide inertialforces, such as vibrations. A lower base portion 202 of the mousehousing can include a ball sensor 204, a mouse wheel 206, circuits (notshown), and other standard components. In addition, a rotary motor 208can be coupled to the base 202, where a rotary shaft 210 of the motor iscoupled to an eccentric mass 212 positioned so that the center of massof the mass 212 is offset from the center of rotation of the shaft 210.A cover portion 214, shown in dashed lines, can be normally positionedover the base portion 202.

The eccentric mass 212 is rotated by the motor 208 to cause inertialtactile sensations on the mouse housing. The inertial sensations arecaused by the inertia produced by the eccentric rotation of the mass,which causes a wobbling motion that is transmitted through actuator tothe housing. The user contacting the housing can feel the sensations.The sensations can be determined from host commands, signals, or localdetermination, as explained above. In one embodiment, the mass 212 isrotated in a single direction. In another embodiment, the mass 212 canbe rotated harmonically (in two directions). Some mouse embodiments canallow both uni-directional and bidirectional modes, e.g. a host commandfrom the host computer can determine which mode is currentlyoperational.

In embodiment 200, the motor 208 is positioned such that the eccentricmass 212 rotates in approximately the y-z plane, where the shaft of themotor extends parallel to the x-axis. Thus, the inertial forces outputby the rotation of the mass are along the y- and z-axes. If the mass isrotated quickly enough and/or if the inertial forces on the housing areof high enough magnitude, the mouse may be moved or vibrated along they-axis and the portion of the forces output in the y-axis may cause acontrolled object, such as a displayed cursor, to change its y positionin a graphical environment in response to motor activation. If thiseffect is undesired, it can be alleviated in some embodiments byproviding a selective disturbance filter, as described in U.S. Pat. No.6,020,876 and incorporated herein by reference in its entirety.

The embodiment 200 can produce strong forces to the user if the mass 212is rotated quickly. In some embodiments, forces output to the user canbe dependent on the initial state of the motor/mass. For example, if theeccentric mass were initially positioned at the bottom of its rotationalrange, a “pop” sensation (e.g. one or a small number of quick massrotations) would feel different than if the mass were initiallypositioned at the top of its range. Rotating mass control firmware and asensor that reads mass rotational position may be used to improve theeccentric mass control and make particular force sensations always feelthe same. For example, copending application Ser. No. 09/669,029, filed.Sep. 25, 2000, describes methods to control an eccentric rotating massthat can be used in the present invention, and is incorporated herein byreference in its entirety. A harmonic drive, in which the mass is drivenin both directions about its rotational axis, higher-fidelity forceeffects may, in general, be obtained, as described in copendingapplication Ser. No. 09/608,125, which is incorporated herein byreference in its entirety. Also, firmware or control software can beused to translate low frequency periodic drive signals into shortduration pulses that start the mass moving from a known position.

In some embodiments, the eccentric mass 212 can be driven harmonically(bi-directionally) against one or more stop members, such as pins, thatare coupled to the base 202 or cover 214 of the mouse housing. Theimpact force of the mass against the stop members causes different typesof force sensations that can be provided instead of or in addition toinertial sensations. Sensations resulting from such stop members isdescribed in greater detail below.

FIG. 3 b is a perspective view of a mouse device 220 providing tactilesensations to a user with an eccentric rotating mass. Embodiment 220 issimilar to mouse 200 described above, and can include a lower baseportion 222, a ball (or other type) sensor 224, a mouse wheel 226,circuits (not shown), and other standard components. A rotary motor 228can be coupled to the base 222, where a rotary shaft 230 of the motor iscoupled to an eccentric mass 232 positioned so that the center of massof the mass 232 is offset from the center of rotation of the shaft 230.A cover portion 234, shown in dashed lines, can be normally positionedover the base portion 222.

Embodiment 220 differs from embodiment 200 in that the motor 228 ispositioned such that the shaft 230 is parallel to the z-axis and rotatesthe eccentric mass 232 in the x-y plane. The inertial sensations aresimilar to those produced by embodiment 220, except that the forces areprovided in the x-y plane. If the inertial sensations are low enoughmagnitude, then targeting activities of the mouse are typicallyunaffected. If the inertial sensations are strong enough, however, theymay cause the mouse and any controlled graphical object to be moved inthe x-y plane, possibly throwing off the cursor from a desired target,and thus may be more undesirable than the embodiment 200 which only maycause mouse movement along the y-axis. Smaller masses 232 (and thussmaller forces) can reduce the disturbances. This embodiment may besuitable as an “anti-targeting” device; e.g. a particular game or otherapplication may require or desire forces that prevent a user fromtargeting a cursor or other object accurately. The other featuresdescribed for embodiment 200 can also be employed for embodiment 220.

FIG. 4 is a side elevational view of another embodiment 250 of a tactilemouse which can output haptic sensations on a mouse button or othermoveable portion of an interface device. Mouse 250 can include thestandard device components detailed above. Mouse 250 includes a motor252 coupled to the housing of the mouse, such as a DC rotary (e.g.pager) motor or other type of actuator, and which rotates an eccentricmass 254. For example, the motor 252 is mounted to the bottom 253 of themouse housing 251 in the embodiment shown. The mass can be rotated inany configuration, but the rotating motor shaft is preferably orientedin the x-y plane so that the eccentric mass 254 rotates in a y-z planeor an x-z plane, or a combination of both. Mouse 250 also includes abutton 256 to which a permanent magnet 258 is coupled. In the embodimentshown, the magnet 258 is coupled to the underside of the button 256.Button 256 is hinged and can move approximately as shown by arrow 260.The user can depress the button to activate a switch and send a buttonsignal to the host computer, as is well known on mouse and otherinterface devices.

The eccentric mass 254 can be controlled similarly to the eccentricmasses described above to provide inertial tactile sensations to theuser contacting the housing of the mouse. For example, the mass 254 canbe rotated in one direction or can be controlled harmonically to move intwo directions about its rotational axis to provide the desired inertialsensations. The harmonic control tends to more efficiently couplevibrations to the housing inertially at higher frequencies.

Furthermore, embodiment 250 allows tactile sensations to be output onthe button 256. When the eccentric mass 254 is rotated to the top of itsrotational range, i.e., its closest position to the magnet 258, the massmagnetically influences the button 256 by attracting the magnet 258toward the mass 254. For example, the mass 254 can be made of a metal,such as iron or steel, that magnetically interacts with the magnet 258.If the magnetic attraction force is strong enough, it may cause thebutton 256 to move in the direction toward the mass 254; however, theforces are preferably made sufficiently weak to not cause the buttonswitch to close. This allows the user to press the button when desiredwith little or no interference from forces output in the button's degreeof freedom. For example, the button travel range can be made largeenough and can include a sensor to detect button position, so that whenthe button reaches a position near to the button switch, the forces arereduced by moving the mass away, allowing a button click uninfluenced bythe magnetic forces.

As the mass 254 rotates away from the magnet 258, the magneticattraction force reduces in magnitude, and the button 256 is allowed tomove back to its origin position due to a physical centering springprovided on the button 256 (e.g., the centering spring can be providedwithin the hinge of the button, or is a separate physical spring). Thus,the button 256 experiences an oscillating magnetic force (e.g., avibration) if the mass 254 is continually rotated in one direction,where the frequency of oscillation is controlled by the frequency ofrotation of the mass. If the user is contacting the button, the userexperiences haptic sensations through the button; these sensations mayinclude actual motion of the button up or down in the degree of freedomof the button. The user also may experience inertial tactile sensationsthrough the housing of the mouse caused by the rotation of the eccentricmass.

Alternatively, the motor 252 and eccentric mass 254 can be used toimpart forces in the degree of freedom of the button 256 in a“kinesthetic button mode.” In this mode, kinesthetic forces such asresistance to movement of the button in its degree of freedom, springforces in the button degree of freedom, damping forces in the buttondegree of freedom, etc., can be output. A particular magnitude of thekinesthetic force is determined by the position of the mass with respectto the magnet at that point in time. Thus, a strong attraction (orresistive) force is applied when the mass is very close to the magnet,while a weaker attraction (or resistance) is applied when the mass hasbeen rotated to a position further from the magnet. Mass position can bemodulated according to the desired relationship, e.g. a spring force iscreated by providing a resistive force having a magnitude based on thecurrent position of the button 256 in its degree of freedom (the currentbutton position can be read by a dedicated sensor). A mapping ofeccentric mass position to resistance (or attractive force) magnitudecan be provided, e.g. the local microprocessor can access such a mappingto determine how to control mass position.

If the eccentric mass is made of a metal such as iron or steel, theforce between magnet and mass are attractive. In other embodiments, themass 254 can be made of a permanent magnetic material. Depending on thepolarities of the sides of the magnet 258 and mass 254 facing eachother, the magnetic force will then either be attractive or repulsive,allowing either an attractive or repulsive force on the button 256. Insome embodiments, both attractive and repulsive forces can beimplemented, and either can be selected by the local microprocessor,host computer, etc. For example, if flux is added or subtracted from asteel or iron mass 254, attractive or repulsive forces can beimplemented. For example, a wire coil can be wrapped around the mass 254and a current flowed therethrough (the current can be controlled by alocal processor, for example), allowing flux to be added or subtractedand thus allowing both attractive and repulsive forces to beimplemented.

In some embodiments, the mass can also be rotated bi-directionally usingharmonic control, as described above. For example, a sine wave cancontrol the harmonic motion of the mass, allowing vibrations to beimparted on the button 256.

The mouse can also be provided with multiple different modes, each modemoving the mass in a different way or according to a different controlmethod to produce a different type of haptic sensation. For example,firmware on the mouse processor, and/or host software, can selectivelycontrol this multiple-mode ability. For example, tactile and kinestheticmodes can be provided. In one example, when the cursor is moved within adisplayed window, a vibration can be output on the button 256 in tactilemode. When the user presses the button to select an icon in that window,kinesthetic mode can be initiated and a spring force can be output onthe button to resist the button's motion downward (or attract the buttonto decrease the force necessary for the user to push the button). Otherembodiments can also or alternatively include harmonic anduni-directional mass rotation modes for different types of tactilesensations.

Multiple buttons of the mouse or other interface device can include amagnet 258. Each button can have an eccentric motor/mass dedicated tothat button, or multiple buttons can be magnetically influenced by asingle motor and/or eccentric mass. In yet other embodiments, othermoving portions of the mouse 250 can be provided with a magnet similarto magnet 258 and be moved with respect to the “base portion” of themouse, which in this embodiment is the remaining portion of the housingexcept the movable portion. For example, a cover portion of the mousehinged to the base portion can be provided with a magnet so that theentire cover portion is vibrated or induced with magnetic forces basedon the position of the eccentric mass 254 during its rotation. Or, aportion of the housing that is pivotally or translatably coupled to therest of the housing can be magnetically influenced. Some embodiments ofmoveable mouse portions are described in U.S. Pat. No. 6,088,019,incorporated herein by reference in its entirety.

FIG. 5 is a perspective view of another embodiment 270 of a mouseproviding haptic sensations on a button. The upper portion 272 of mouse270 is shown, which is intended to mate with a bottom portion, e.g. abase similar to those shown with respect to FIGS. 3 a and 3 b, or othertype of base. Two mouse buttons 274 and 276 are shown from the undersideof the upper portion 272. The buttons 274 and 276 are coupled to thehousing portion 272 at a hinge 278. The housing of a rotary motor 280 iscoupled directly to the button 276 such that the button 276 can still bemoved and pressed by the user in normal fashion; when the button ismoved, the motor 280 is also moved. An eccentric mass 282 is coupled toa rotating shaft 284 of the motor 280. The mass 282 can be similar tothe eccentric masses described above.

A number of eccentric rotating mass motors, voice-coils, speakeractuators, and/or other types of actuators can be attached to adisplaceable surface of the mouse, such as the mouse button 276 or amoveable portion of the top or side of the mouse housing, for example.These actuators can all produce a vibration on the displaceable surface.Thus, a freely-rotating mass 282 will produce a vibration on the button276 to which the motor 280 is attached due to the inertial forces. Someactuators are capable of harmonic drive, providing high bandwidth at theexpense of power consumption. Harmonically-driven actuators are able toproduce vibrations as well as “clicks”, e.g. single pulses of force.

In other embodiments, an grounded stop 284 can be positioned in therotatable range of the mass 282 to block the rotation of the mass. Forexample, the stop 284 can be a pin or screw that is mounted to thehousing 272 and extends into the rotational range of the mass. Inunidirectional operation, a force can be applied to the button 276 bydriving the mass 282 against the stop 284. Since the stop 284 isgrounded, this causes the motor 280 and button 276 to move in the degreeof freedom of the button as the mass 282 pushes against the stop 284. Insome embodiments, the resulting force may not be of sufficient magnitudeto actually move the button and motor, but a force is applied to themotor and button in the button's degree of freedom.

Alternatively, the actuator 280 can be grounded to the housing 272 whilethe stop 284 is coupled to the movable portion, such as button 276. Thiscan provide similar sensations to those generated by a grounded stop andfloating actuator.

Similar to the embodiment of FIG. 4, different tactile modes can beprovided; in some embodiments, one of multiple modes can be selected bythe controller of the motor 280. For example, in a vibration mode, aseries of discrete activation pulses can be sent to the motor 280 todrive the eccentric mass 282 against the stop 284 at regular periodic(or irregular, if desired) intervals, causing a vibration on the button.

Kinesthetic forces for a kinesthetic mode are not easily achieved exceptfor the embodiments where an actuator engages one or more limiting stops284 and can then displace the movable surface if current is controlled.For example, in a kinesthetic force mode, the mass 282 can be drivencontinuously against the stop 284 to cause a constant resistance forceon the button 276 in its degree of freedom, or other type of force. Forexample, a spring force can be output by controlling the constant forceon the button to be dependent on button position according to therelation F=kx, where x is the position of the button in the button'sdegree of freedom (a dedicated sensor can be provided to detect buttonposition in the button degree of freedom).

In harmonic operation, the mass 282 can be driven in two directions, sothat the mass can provide a vibration when it is between stops, and canbe impacted with the stop 284 on either side of the stop to providekinesthetic sensations or a different type of vibration sensation. Forexample, a variety of vibration sensations can be provided, such asmoving the mass against either side of a stop alternately, or by drivingthe mass against the stop, then moving it away, etc. A kinesthetic modecan be controlled in either direction of the button in its degree offreedom by moving the mass against a corresponding side of the stop andcausing a force on the button by continuously forcing the mass againstthe stop. In some embodiments, two stops can be provided to define arange of rotation for the mass 282. Such a configuration can cause avibration on the button when the mass is operated harmonically betweenlimit stops, and can provide a kinesthetic force control mode when themass is forced against one of the stops. Actuators such as a springbiased solenoid can also be used since these actuators can be harmonicor can provide two basic forces from impact if driven to the end oftheir stroke.

Other embodiments described herein, such as those of FIGS. 3 a and 3 b,can also employ one or more stops in the range of motion of theeccentric mass to provide different haptic sensations. Another exampleof a tactile mouse includes an eccentric rotating mass motor coupled tomouse housing or the movable portion, and two stop members coupled tothe other of the movable portion or mouse housing. The stop membersdefining a range of rotation of the mass. The rotating mass can shakethe mouse housing and transmit inertial vibrations when operatedharmonically between the limits defined by the stops. Then, if the motoris brought to bear against one of the stop members, the button surfacemay be displaced by controlling the motor current. This kind of motorworking against a stop member is not like a bidirectional linearactuator because there is an inherent dead band, but spring effects canstill be output in one direction of the button or the mass canintentionally impact the stop to generate “pops.”

Some embodiments of mouse 270 may have inconsistent force output forreasons similar to other eccentric rotating mass embodiments: theinitial conditions (position and velocity) of the eccentric mass mayinfluence how the actuator operates in response to different drive inputsignals. As a result, the force effects may not feel repeatable orconsistent and may be undesirable. For example, a command signal thatcommands a pulse effect when the cursor crosses over an icon may causethe force effect to be output too late, after the icon was crossed bythe cursor, due to the time it takes for the mass to be acceleratedagainst a stop. In some cases, rebound forces may counteract the nextpulse and obscure subsequent effects. Such disadvantages may be solvedin some embodiments by providing controlling methods and/or a sensorthat detects mass rotational position that maintain the mass in a knownposition so that force sensations are repeatable and consistent. Gamepadmotor control as described in application Ser. No. 09/669,029 may alsobe used.

FIGS. 6 a and 6 b are perspective views of another embodiment 300 of atactile mouse of the present invention. In FIG. 6 a, an upper portion302 of mouse 300 is shown, which is intended to mate with a bottomportion, e.g. a base similar to those shown with respect to FIGS. 3 aand 3 b, or other type of base. Two mouse buttons 304 and 306 are shownfrom the underside of the upper portion 302.

In embodiment 300, a moving-magnet actuator 310 is grounded to thehousing 302. A moving magnetic portion 311 and bearing of the actuator310 rotates about axis A and is coupled to the mouse button 306 by anextension member 313 which is guided by a support structure 312. Thus,the rotation of the moving magnet causes a force on the button 306 aboutthat axis and directly in the degree of freedom of the button, allowingforces in either direction of that button's degree of freedom to beoutput when rotary forces are output by the actuator. This causes thebutton to pivot approximately about the axis of rotation. This motion ofbutton 306 is shown in FIG. 6 b by arrow 314. For example, half of amoving-magnet actuator as described in copending application Ser. No.09/565,207, incorporated herein by reference in its entirety, can beused for actuator 310. Other types of moving-magnet actuators can alsobe used. In one embodiment, the actuator can produce several ounces offorce at the button leading edge (the front tip of the button) where thestroke is, for example, about +/−0.125 in. The direct drive movingmagnet implementation is capable of very high fidelity haptics. Thebuttons 304 and 306 can be coupled to the housing portion 302 at a hinge308, or may be coupled only to the moving magnetic portion 311 or shaftof the actuator.

This embodiment can also be realized with a number of actuators andtransmissions. Other embodiments and features of providing hapticfeedback on a mouse button or other types of buttons are described incopending application Ser. Nos. 09/253,132 and 09/156,802, bothincorporated herein by reference in their entirety. The forces areoutput approximately along the z-axis since the button movesapproximately along that axis, and therefore the forces need notinterfere with the movement of the mouse in the x-y plane. This makes italso well suited to providing the feel of a third dimension in relationto the two-dimensional plane of a display screen.

In some embodiments, the button can be biased to the top (upper limit)of its travel range; this allows a greater range of button movement inthe down direction and can eliminate or reduce a loss of force that mayoccur for negative alternation when the button limit is reached. Aphysical spring (e.g. a leaf spring or other type of spring) can be usedto bias the button to the top of its travel. This may cause, in someembodiments, the button to stick up above the top surface of the mousehousing and increased the finger force and stroke to close the buttonswitch.

This embodiment can alternatively provide a button bias that is springbalanced and held in the center of its travel. Spring biasing the buttontends to provide more effective force sensations to the user thanwithout the spring biasing.

Embodiments including haptic sensations on a mouse button may be moresuitable for focused, high concentration tasks such as desktopapplications. One advantage on other designs is its output of lowfrequency forces, allowing users to receive a good illusion of surfaceprofile and texture as the cursor is moved across icons and menus. Ingaming applications, pushing down on the button surface may overpowerthe forces. This is may not be desirable for particular games, e.g.shooting games. Additionally, the user may lose the feedback sensationswhen the index finger is not in place on the button. In someembodiments, the moving surface can be enlarged, or a surroundingportion of housing can be caused to move around the button (instead ofthe button being provided with forces, as described in copendingapplication Ser. No. 09/156,802. This may also alleviate the buttonclosure interference/long stroke issue since a standard button can beused.

FIG. 7 is a perspective view of another embodiment 320 of a tactilemouse of the present invention. The upper portion 322 of mouse 320 isshown, which is intended to mate with a bottom portion, e.g. a basesimilar to those shown with respect to FIGS. 3 a and 3 b, or other typeof base. Two mouse buttons 324 and 326 are shown from the underside ofthe cover portion 322.

The cover portion 322 includes a movable surface portion 328 which canbe moved relative to the cover portion 322 (or other remaining mainportion of the housing). In the example shown, the movable portion 328is positioned on the side of the mouse, where the user's thumb maycontact the portion 328 during normal operation of the mouse. In thisembodiment, the movable portion 328 may be moved in a directionapproximately perpendicular to the side surface of the mouse (or othersurface that immediately surrounds the movable portion) andapproximately parallel to the x-axis of the mouse planar workspace, asshown by arrow 330. The moveable portion 328 can be coupled to the coverportion 322 by a spring or hinge that allows the outward motion of arrow330. For example, foam can be used to act as a biasing spring to centerthe moving surface in its degree of freedom; other types of springs canalso be used. This bias forces the user's thumb outward when the mouseis gripped normally. In the embodiment shown, the movable portion 328does not have button functionality such as a switch activated bypressing the portion 328, but alternate embodiments can include suchfunctionality if desired.

A linear voice coil 332, or other type of actuator providing linearmotion, is coupled to the cover portion 322 (or other portion of thehousing). For example, the voice coil 332 can be coupled to an extension324 of the housing 322. The voice coil 332 includes a linearly-movingbobbin 334 that is directly coupled to the movable portion 328 so thatthe voice coil actuator 332 directly moves the portion 328. The movableportion 328 also magnetically centers itself in its degree of freedomdue to the magnetic characteristics of the voice coil 332. One exampleof a linear voice coil suitable for use in mouse 320 is described incopending application Ser. No. 09/156,802.

Since the forces on the user are output only parallel to only one axisof mouse movement, such as the x-axis, forces meant for the y-axis canalso be output on the x-axis-moving portion 328. The mapping from x-axisand y-axis to a single x-axis may present some perceptual challenges forthe user. For example, position-based effects may make less sense to theuser in this embodiment than in embodiments providing z-axis or both x-and y-axis forces, but still may be entertaining for the user. Clicksand pops are not directional and are well-suited to this embodiment. Insome embodiments, a second moveable housing portion and dedicated voicecoil actuator, similar to the thumb portion 328 and actuator 332, can bepositioned to better map y-axis forces, e.g. such a second movableportion can be positioned on the front or back of the mouse housing andcontact the user's fingers or palm.

Other embodiments can also be provided. For example, the entire coverportion, or a designated area of the cover portion, may be moved in thez-direction against the user's palm or fingers by a voice coil actuatoror other type of actuator that directly moves the cover portion. Theupper portion of the mouse housing can be flexibly coupled to the lowerportion or base of the mouse so that the upper portion can be moved onthe z-axis relative to the lower portion. Kinesthetic forces may not beperceived as easily by the user as tactile (e.g. vibration) forces, butthis can be remedied by increasing the travel distance of the movinghousing portion. Examples of such an embodiment are described in greaterdetail in U.S. Pat. No. 6,088,019, which is incorporated herein byreference in its entirety.

This embodiment offers some advantages in that the user is alwaysexperiencing force sensations while operating the mouse since the entireupper cover portion is moved. Some users may not palm the mouse in use,but rather grasp the side edges of the mouse. To accommodate this, thecover portion can be extended to the side areas or side grip surfaces orridges can be made more pronounced to enhance feedback from the gap areain this grasp mode. It may not be necessary in some embodiments to palmthe mouse to receive compelling tactile feedback due to feelingvibrations caused by the moving housing. If only a smaller portion ofthe upper housing portion is movable, then the user can avoid holdingdown and overpowering the moving portion. For example, displacing anisland of plastic sealed by a bellows can provide just as effectiveforce feedback as displacing the whole upper housing portion.

Furthermore, a gap formed by the split housing, between the upper andlower shells, creates a differentially displaced surface. Since the twoportions of mouse housing are pinched to provide movement, the user maycontact the gap when operating the mouse. When the two halves of thehousing pinch together or apart, the user receives proportionalinformation due to feeling the size of the gap changing. In otherembodiments, a flexible material can be used to fill the gap or thedifferential information can be conveyed in other ways, such as puttingtactile ridges on the upper and lower halves.

Another tactile mouse embodiment provides force feedback on a mousewheel, such as a wheel 206 shown with reference to FIGS. 3 a and 3 b. Arotary actuator can provide rotational forces about the axis of rotationof the wheel. A surface providing good friction between the user'sfinger and the wheel is well suited to allow the user to feel the forcesensations during control of the wheel. Many force feedback mouse wheelembodiments are described in U.S. Pat. No. 6,128,006, which isincorporated herein by reference in its entirety.

Merging any two or more features of the above embodiments into a singlehybrid design can also be accomplished. Several of the functions andfeatures can be combined to achieve a single design that, for example,has the mechanical simplicity of the moving upper housing design and thedistinct focused or localized feedback of the haptic mouse button.Better hybrid designs incorporate multiple implementations with reducednumbers of actuators. For example, cost is much reduced if a singleactuator can be used to output forces on the upper shell as well as amouse button.

Component Embodiments

Any of the above embodiments for a haptic mouse can make use of avariety of types of actuators. The lowest cost actuators providingreasonably high performance are the most desirable for the consumermarket. For example, a small DC rotary motor provides good harmonicactuation with decent bandwidth from DC to about 150 Hz. There are alsomany types of models available.

A solenoid can also be used. This actuator is not as desirable as the DCmotor since it tends to deliver little haptic value for the material andpower expense; solenoids are typically not good at providing constantforce over a useful stroke. Solenoids, however, may work well in someembodiments to generate a digital “pop” or pulse effect. Anoff-the-shelf solenoid can be biased to generate a quasi-linear forcevs. stroke profile, and the transmission may be simpler in thoseembodiments requiring linear motion since the solenoid already provideslinear motion.

A shape memory alloy (SMA) wire with constant current drive circuit canalso be used. This actuator is able to provide forces up to 100 Hz,especially “pops” in the range of 30 Hz. This can be a very forcefulactuator; the operation of such a component is well known to those ofskill in the art.

A speaker or voice coil motor (VCM) can also be used. Off-the-shelfspeakers are optimized to move a column of air. The return path andbobbin parts that can fit in a mouse housing volume may not produceenough force or have enough stroke to be useful. However, a custom voicecoil can be designed to provide a useful stroke and high output forceover that stroke. This actuator can operate sufficiently well and can bemanufactured in high volume by leveraging off of an existing industry,such as the audio voice coil industry.

For actuator couplings and transmissions, many components may besuitable. For example, a lead screw capable of being back driven can beused to couple a moving member to the actuator. The lead screw in someembodiments can incorporate a spring suspension to center the actuator.A molded flexure linkage driven with an eccentric cam moving in a slotcan also be used. Alternatively, a one piece living hinge linkage(flexure) can be used to eliminate all pin joints and serve as theconnection between the actuator and the housing. Examples of suchflexures are described in copending application Ser. No. 09/585,741 andNo. 60/236,558, filed Sep. 28, 2000 and entitled “Device and Assemblyfor Providing Linear Inertial Sensations,” both incorporated herein byreference in their entirety.

User Interface Features

FIG. 8 is a diagram of display screen 26 of host computer 14 showing agraphical user interface, which is one type of computer-implementedgraphical environment with which the user can interact using the deviceof the present invention. The haptic feedback mouse of the presentinvention can provide tactile sensations that make interaction withgraphical objects more compelling and more intuitive. The user typicallycontrols a cursor 400 to select and/or manipulate graphical objects andinformation in the graphical user interface. The cursor is movedaccording to a position control paradigm, where the position of thecursor corresponds to a position of the mouse in its planar (x-y)workspace. Windows 402, 404 and 406 display information from applicationprograms running on the host computer 14. Menu elements 408 of a menu410 can be selected by the user after a menu heading or button such asstart button 411 is selected. Icons 412 and 414 and web link 416 aredisplayed features that can also be selected. Scroll bars, buttons, andother standard GUI elements may also be provided.

Tactile sensations associated with these graphical objects can be outputusing the actuator(s) of the device based on signals provided from thelocal microprocessor and/or host computer. A variety of hapticsensations that can be output on the housing and/or on a movable elementof the device, and can be associated with GUI elements, includingpulses, vibrations, textures, etc., are described in copendingapplication Ser. Nos. 09/456,887 and 09/504,201, incorporated herein byreference in their entirety.

There are several desirable user interface features for the mouseembodiments described herein. A high quality, crisp feeling to thesensations, such as pulses' or pops, on graphical objects such as scrollbars and menu items is appealing to users. Feeling a click or pop whenentering or exiting an area on the GUI is helpful to locate the itemhaptically for the user. Tones, i.e. fixed magnitude variable frequencyvibrations, can provide a full range of haptic sensations. High qualityvibrations with varying magnitude and frequency, and good low frequencyperiodic forceful displacements provide a variety of high-quality feelsto graphical objects. Window boundaries can also be associated with aspring under the finger button, in appropriate embodiments.

Preferably, system events and sounds are mapped to haptic feedbacksensations output by the mouse. Textures can also be implemented, e.g.x- and y-axis forces mapped to z-axis forces. Textures can, for example,distinguish window fields and areas or other areas of the graphicalenvironment. Haptic feedback can also be output to the user to confirmthe pressing of a key or a button by the user. When an icon or otherobject is dragged by the cursor, a sensation of icon weight can beimplemented as a vibration “tone,” where the tone frequency indicatesweight of the selected object; for example, a low frequency vibrationsignifies a heavy or large graphical object or a large data size (e.g.in bytes) of a selected or dragged object, while a high frequencyvibration indicates a small or lightweight object. To avoiddisconcerting jarring effects as the cursor crosses icons, the forcemagnitude can be reduced (or otherwise adjusted) as a function of cursorspeed in the GUI.

Mouse Button Sensations

Additional user interface features can be provided for particularembodiments. For example, for the embodiment 300 or 270 providing hapticfeedback on a button, several user interface haptic feedback sensationscan be provided. Some compelling haptic sensations do not require aposition sensor to determine a position of the button in its degree offreedom.

For example, “soft spots” or variable compliance surfaces can beprovided on objects or areas in the GUI. When the user moves the cursorover a button, icon, menu item, or other selectable target (surface,object, or area), the pressing force required by the user to complete abutton actuation is decreased noticeably by reducing resistance force inthat direction of the button and/or providing an assistive force in thatdirection of button motion. This may give the user the perception of anactive detent without using position-based forces to guide the mouse tothe target. A vector force that doubles (or otherwise increases) thestiffness of the button can be used to require a greater pressing forceto actuate the button when the cursor is not positioned over aselectable target or particular types or instances of selectabletargets.

If a sensor, such as a low-resolution encoder or potentiometer, is addedto determine button position in its degree of freedom, additionalsensations can be provided. For example, “piercing layers” can providethe user with the sensation of a third dimension into the plane of thescreen. The graphical environment or application may have severalwindows or other objects which are “layered” based on when the windowwas opened and which windows have been made active “over” other windows.For example, window 404 is displayed on top of window 406, and window402 is displayed on top of the windows 404 and 406. Typically, only onewindow is “active” at one time, e.g. accepts input from a keyboard orother input device; for example, the active window can have adifferently-colored title bar 403 or other indicator. It can beconvenient to toggle rapidly through such windows (or other types oflayers). The haptic feedback mouse button of the present invention canprovide this functionality by outputting a progressive spring force withdetents overlaid on the spring. When in a layer selection mode, themoving of the button downward causes lower layers to become active,where distinct positions of the button can each be associated with aparticular layer. A detent force or pulse output on the button cantactilely indicates when another layer is to be “punctured” by thecursor and become active.

For example, positioning the cursor over a blank spot in an activewindow 402 can put the mouse and cursor in a layer selection context ormode. The user then presses the mouse button until the cursor “pierces”through the current layer which causes a distinct puncture force effectsuch as a detent or jolt, and window 404 (or other object) at a newlayer becomes active. Continuing to depress the button to a lowerposition will pierce yet another layer so that window 406 becomesactive, and so on, where each layer provides a puncture effect, such asa small resistance force (so that the user does not accidentally movethe button into the next layer). When the user arrives at the desiredwindow or layer, the button is released, which informs firmware orsoftware that a particular number of layers have been punctured andwhich window at a lower layer should be active and displayed on top.Puncturing successive layers can cause the successive windows to appearone after another as the active window. This feature can also be usefulfor application programs having several windows, like SolidWorks™. Sucha feature would alleviate the use of keys or menus to toggle between,for example, part and assembly windows, which can be a distraction forthe user. It can be much faster to pull the cursor to a blank area ofthe screen where puncturing and depressing functions let the userrapidly select the next window without doing any targeting at all. Thisfeature is also applicable to drawing programs, in which the user oftenorganizes a drawing into different layers to allow the user to select,edit, and/or view only the parts of the drawing on a single layer at onetime. A user can access the different drawing layers using the methoddescribed above.

In some embodiments, if the user releases the button and then depressesthe button again, the “puncture holes” the user previously made allowthe button to be depressed more easily through thosepreviously-punctured layers and are signaled by significantly diminishedspring or detent forces or distinctly different force profiles. The userknows which layer is enabled by how many decreased-force punctures theuser feels before reaching an unpunctured layer, which has a noticeablyhigher force (a stiff rubber diaphragm is a good analogy). In someembodiments, double clicking on the unpunctured layer causes theselected window to be displayed as the active layer. This examplerequires at least a crude position sensor, perhaps an encoder withseveral (e.g. about 64) counts over the stroke of the actuator. Thevalue of such a feature would depend on how well integrated theapplication is. In one embodiment, an application program or GUI candetermine how many windows are currently open and can spatiallysubdivide the button travel distance accordingly to allow constantspacing between puncture points.

Another haptic sensation and user interface feature are layers withinertial or a “turnstile.” In such a layer implementation, a window orother graphical selected object can be considered to be “attached” tothe mouse button, where moving the mouse button down moves the window“into” the screen to a different, lower layer. For example, when movingthe cursor to a blank area of an active window 402, the user can depressthe button and feel the inertia of the window 402 and push that windowinto the background, behind other windows 404 and 406, so that thewindow 404 at the next highest level becomes active. As the next window404 becomes active, the user feels a detent in the button's Z-axissignifying that the next window is now active. An analogy is a“turnstile” having multiple sections, where as each section becomesactive, the user receives haptic feedback. This could also be used forspin boxes: Animations can show a window that has been “pushed” into thebackground as spinning into the screen and away. The inertial sensationcan be a resistive force on the button and can be related to window sizeor other characteristics of the window. Again, a low-resolution positionsensor is desirable to sense the position of the button in its degree offreedom.

Another button user interface feature of the present invention is a ratecontrol button. The “layers” described above can be extended further byallowing that the same actuator and displaced surface and sensorassembly can be used to implement rate control at a surface function.For example, the cursor can be moved over a control such as a volumebutton. The user then moves the mouse button down to a first detent orpulse. The detent signifies that the volume control is selected and thata rate control mode has been entered. The user then moves the mousebutton up or down, and this controls the actual volume level. Forexample, the volume can be adjusted a rate proportional to the distanceof the button from its origin (centered) position. The rate control modecan be exited by, for example, allowing the button to move to itshighest level, by pressing another button, etc. Preferably, a springforce resists the motion of the mouse button in rate control mode toallow greater control by the user.

Rate control with an active button can also be useful for scrollingdocuments or other objects. For example, pushing the button a greaterdistance down (against a spring force) can increase the speed ofscrolling, and allowing the button to move upward can decrease thescrolling speed, similar to the scrolling in the Wingman force feedbackmouse from Logitech Corp. Since most scrolling is vertically oriented inthe GUI, this is well correlated to a vertical button depression and isa natural feature.

Multiple switch actions can also be implemented using a haptic button.While conventional mouse buttons are fixed-movement mechanical buttons,the haptic feedback button with a position sensor of the presentinvention can become a huge variety of buttons with different forceversus depression/actuation profiles implemented in software and usingthe actuator. Profiles such as a long stroke with very linear force or ashort stroke with over-center snap action (toggle action) are possiblewith the same hardware. Other possibilities include buttons that vibratewhen the user begins to depress them and then warn the user moreaggressively when the user has slightly moved the button as if he or sheis about to click the button.

Other button effects can be specially tailored for the embodiment 270 ofFIG. 5, which uses a stop and a rotating eccentric mass to provideforces on the button. For example, rudimentary layer effects can begenerated which do not involve rapid force reversals of the type feltpiercing through a diaphragm, for instance. If the button is connectedto a position sensor and the eccentric mass can be moved to bear againsta stop anywhere in the movement range of the button, then kinestheticforces (such as springs) can be output in one direction anywhere in thatbutton's range of motion. Clicks (pulses) and pops can be generated bythe inertial coupling of simple mass rotation, which can transmit aharmonic burst into the mouse housing for subtle pops. Alternatively,the mass can be controlled to rapidly engage a stop to generate a harshknock or popping effect.

Superposition of haptic effects can also be achieved with the embodiment270. While the actuator is forcing the eccentric mass against a stop toprovide a kinesthetic force on a movable surface (based on a DC drivesignal), a high frequency harmonic signal may be applied to the actuatorto output a vibration on the movable surface. This would allow thelayers implementation above to include layers having different “tones”(vibrations of different frequencies) when punctured; also, the tone canchange frequency as the layer is moved, deformed, or manipulated.Preferably, the DC signal that forces the mass against the stop isalways at least slightly greater in magnitude than the maximum negativealternation of the superimposed harmonic signal; this prevents the massfrom moving off the stop (negative direction) and moving back into itand thus avoids a “chatter” of the mass.

Another control scheme can be provided for a rotating mass with slot andpin action built into the mouse button to manage clicks and pops withmore complex effects occurring simultaneously. Such a configuration isshown in FIG. 9, where the actuator 450 is coupled to a slot member 452(mass) having a slot 454. A movable member 456, such as a button orportion of the housing, is coupled to a pin 458 that extends into theslot 454. The slot 454 is made wider than the pin, so that the actuator450 can drive the slot member 452 harmonically without contacting thepin 458 and provide inertial sensations to the housing. In addition, theslot member 452 can engage the pin 458 to move the member 456 andprovide kinesthetic forces on the member 456. The control scheme forsuperposition of forces would, first, slowly rotate the member 452against gravity until the pin 458 engages the side of slot 454. This canbe a default position so that the actuator is instantly able to respondto force commands without discontinuities. A high current is thencommanded to produce a vertical force on the button 456. The current ismaintained to maintain the slot member in the upward direction, and aharmonic signal is superimposed on the DC signal to oscillate the slotmember and provide a vibration on the button in addition to thekinesthetic force; the DC signal prevents chatter of the slot memberagainst the pin. The current can be turned off to allow gravity toreturn the slot member to its neutral position.

While this invention has been described in terms of several preferredembodiments, it is contemplated that alterations, permutations andequivalents thereof will become apparent to those skilled in the artupon a reading of the specification and study of the drawings. Forexample, the various embodiments disclosed herein can provide hapticsensations in a wide variety of types of interface devices, handheld orotherwise. Furthermore, certain terminology has been used for thepurposes of descriptive clarity, and not to limit the present invention.It is therefore intended that the following appended claims includealterations, permutations, and equivalents as fall within the truespirit and scope of the present invention.

1. An interface device, comprising: a housing moveable in an x-y plane;a sensor coupled to the housing and configured to output a sensor signalbased on a movement of the housing in the x-y plane; an actuatorconfigured to output a haptic effect, the actuator having an eccentricmass rotatable about a shaft, the actuator configured to rotate theeccentric mass about the shaft with an acceleration upon beingactivated; an actuator sensor coupled to the actuator and configured tomeasure the amount of rotation of the eccentric mass when the actuatoris activated, wherein the actuator controls the amount of rotation ofthe eccentric mass in response to the measured amount of rotation tooutput an inertial haptic effect pulse to the housing.
 2. The interfacedevice of claim 1, wherein the actuator is configured to rotate theeccentric mass approximately in a y-z plane.
 3. The interface device ofclaim 1, wherein the actuator is configured to rotate the eccentric massapproximately in an x-y plane.
 4. The interface device of claim 1,wherein the inertial force is a pulse correlated with a simulatedinteraction of a user-controlled cursor with a graphical objectdisplayed in a graphical user interface.
 5. The interface device ofclaim 4, wherein the pulse is output with a magnitude based on acharacteristic of the graphical object with which the cursor interacts.6. The interface device of claim 1, further comprising a microprocessor,separate from a host computer, coupled to the sensor and to theactuator, the microprocessor configured to receive host commands fromthe host computer and to output haptic force signals to the actuator,the inertial haptic force being based on the haptic force signals, themicroprocessor further configured to output locative data to the hostcomputer based on the sensor signal.
 7. The interface device of claim 1,wherein the sensor includes a ball that is configured to frictionallycontact a surface on which the housing is moved, the surface beingassociated with the x-y plane.
 8. The interface device of claim 1,wherein the sensor includes an optical sensor configured to detect amovement of a surface relative to the mouse housing.
 9. The interfacedevice of claim 1, wherein the actuator is controlled harmonically witha drive signal the actuator configured to rotate the eccentric massbi-directionally to output the inertial haptic force pulse.
 10. Theinterface device of claim 1 wherein the housing further comprises amoveable portion and a base portion, wherein the moveable portion isconfigured to be moveable with respect to the base portion.
 11. Theinterface device of claim 10, further comprising a magnet coupled to themoveable portion of the housing, the actuator coupled to the baseportion of the housing and positioned such that the eccentric mass isproximal to the magnet, wherein the eccentric mass is configured to atleast one of magnetically attract and magnetically repel the magnet whenrotated to produce the inertial haptic effect on the moveable portion.12. The interface device of claim 10, wherein the moveable portion is abutton on the housing.
 13. The interface device of claim 10, wherein themoveable portion is a graspable by the user.
 14. The interface device ofclaim 10, wherein the actuator is configured to output a spring force onthe moveable portion.
 15. The interface device of claim 10, wherein theactuator is configured to provide a resistive force on the moveableportion.
 16. The interface device of claim 10, further comprising a stopmember coupled to the moveable portion and positioned at least partiallyin a path of rotation of the eccentric mass, wherein the actuator isconfigured to produce a haptic force when the eccentric mass is movedagainst the stop member.
 17. The interface device of claim 16, whereinthe stop member further comprises: a first stop member at a firstposition in the housing; and a second stop member at a second positionin the housing, wherein the first stop member and the second stop memberare configured to define a range of rotation of the rotating eccentricmass.
 18. The interface device of claim 17, wherein the actuator isconfigured to produce a vibration based on periodic interaction of therotating eccentric mass against the stop member.
 19. An interface devicefor use with a computer device, comprising: a housing; a sensor coupledto the housing and configured to output a sensor signal to the computerdevice based on a manipulation of the housing by a user; an actuatorcoupled to the housing and having an eccentric mass, the actuatorconfigured to rotate the eccentric mass about a shaft in response to anactuating signal; and an actuator sensor coupled to the actuator andconfigured to measure the amount of rotation of the eccentric mass uponreceiving the actuating signal, wherein the actuator controls the amountof rotation of the eccentric mass in response to the measured amount ofrotation to output an inertial haptic effect pulse to the housing. 20.The interface device of claim 19, wherein the housing further comprisesa moveable portion and a base portion, wherein the moveable portion isconfigured to be moveable with respect to the base portion.
 21. Theinterface device of claim 20, further comprising a magnet coupled to themoveable portion of the housing, the actuator coupled to the baseportion of the housing and positioned such that the eccentric mass isproximal to the magnet, wherein the eccentric mass is configured to atleast one of magnetically attract and magnetically repel the magnet whenrotated to produce the inertial haptic effect on the moveable portion.22. The interface device of claim 20, wherein the moveable portion is abutton on the housing.
 23. The interface device of claim 20, wherein themoveable portion is a graspable by the user.
 24. The interface device ofclaim 20, wherein the actuator is configured to output a spring force onthe moveable portion.
 25. The interface device of claim 20 wherein theactuator is configured to provide a resistive force on the moveableportion.
 26. The interface device of claim 20, further comprising a stopmember coupled to the moveable portion and positioned at least partiallyin a path of rotation of the eccentric mass, wherein the actuator isconfigured to produce a haptic force when the eccentric mass is movedagainst the stop member.
 27. The interface device of claim 26 whereinthe stop member further comprises: a first stop member at a firstposition in the housing; and a second stop member at a second positionin the housing, wherein the first stop member and the second stop memberare configured to define a range of rotation of the rotating eccentricmass.
 28. The interface device of claim 26, wherein the actuator isconfigured to produce a vibration based on periodic interaction of therotating eccentric mass against the stop member.
 29. An interface devicefor use with a computer device, comprising: a housing having a moveableportion and a base portion, wherein the moveable portion is moveablewith respect to the base portion while coupled to the base portion; asensor coupled to the housing and configured to output a sensor signalto the computer device based on a manipulation of the housing by a user;and an actuator coupled to the moveable portion of the housing, theactuator having an eccentric mass and configured to actuate theeccentric mass to output an inertial haptic force to the moveableportion in response to an actuating signal from the computer device,wherein the actuator controls the amount of rotation of the eccentricmass in response to a measured amount of rotation of the eccentric massupon receiving the actuating signal, the inertial haptic force beingfelt by the user when in contact with the moveable portion of thehousing.
 30. The interface device of claim 29, further comprising amagnet coupled to the moveable portion of the housing, the actuatorcoupled to the base portion of the housing and positioned such that theeccentric mass is proximal to the magnet, wherein the eccentric mass isconfigured to at least one of magnetically attract and magneticallyrepel the magnet when rotated to produce the inertial haptic effect onthe moveable portion.
 31. The interface device of claim 29, wherein themoveable portion is a button on the housing.
 32. The interface device ofclaim 29, wherein the moveable portion is a graspable by the user. 33.The interface device of claim 29, wherein the actuator is configured tooutput a spring force on the moveable portion.
 34. The interface deviceof claim 29, wherein the actuator is configured to provide a resistiveforce on the moveable portion.
 35. The interface device of claim 29,further comprising a stop member coupled to the moveable portion andpositioned at least partially in a path of rotation of the eccentricmass, wherein the actuator is configured to produce a haptic force whenthe eccentric mass is moved against the stop member.
 36. The interfacedevice of claim 35, wherein the stop member further comprises: a firststop member at a first position in the housing; and a second stop memberat a second position in the housing, wherein the first stop member andthe second stop member are configured to define a range of rotation ofthe rotating eccentric mass.
 37. The interface device of claim 29,wherein the actuator is configured to produce a vibration based onperiodic interaction of the rotating eccentric mass against the stopmember.
 38. An interface device for use with a computer device,comprising: a housing having a moveable portion and a base portion,wherein the moveable portion is moveable with respect to the baseportion while coupled to the base portion; means for sensing amanipulation of the housing by a user, wherein the means for sensingoutputs a sensing signal to the computer device; and means for producingan inertial haptic force to the moveable portion, the means forproducing having an eccentric mass rotated about a shaft in response toan actuating signal from the computer device, wherein the means forproducing controls the amount of rotation of the eccentric mass inresponse to a measured amount of rotation of the eccentric mass uponreceiving the actuating signal, the inertial haptic force being felt bythe user when in contact with the moveable portion of the housing.